package com.itheima.d4_interface.demo4;

//目标：了解JDK8版本后，接口中新增的带有方法体的方法
public class Demo {
    public static void main(String[] args) {
        /**
         * 默认方法：
         *      类似之前写的普通实例方法：必须用default修饰
         *      默认会public修饰。需要用接口的实现类的对象来调用
         *
         * 静态方法：
         *      默认会public修饰，必须static修饰
         *      注意：接口的静态方法必须用本身的接口名来调用
         *
         * 私有方法：
         *      就是私有的实例方法:，必须使用private修饰，从JDK9才开始有的
         *      只能在接口中访问
         *
         * 需求：分别访问AfterJDK8Inter接口的默认方法、静态方法和私有方法！
         */
        //1.尝试访问AfterJDK8Inter接口的默认方法，需要有一个实现类
        //定义一个JDK8InterImpl作为实现类，实现接口，然后创建对象，调用默认方法
        JDK8InterImpl inter = new JDK8InterImpl();
        inter.defaultMethod1();
        inter.defaultMethod2();
        System.out.println("------------------------------");

        //2.尝试访问接口的静态方法，只能被接口名访问
        //inter.staticMethod1();
        //inter.staticMethod2();
        AfterJDK8Inter.staticMethod1();
        AfterJDK8Inter.staticMethod2();

        //3.接口中私有方法：只能在接口内部访问！
        //作用：解决接口内部代码重复的问题
    }
}
